//package com.mccken.demo.classload;
//
//import java.net.URLClassLoader;
//import java.nio.ByteBuffer;
//import java.nio.channels.FileChannel;
//import java.nio.file.Paths;
//import java.nio.file.StandardOpenOption;
//
//import lombok.SneakyThrows;
//
///**
// * @program: mccken-collect
// * @description:
// * @author: mccken
// * @create: 2023-11-23 12:55
// **/
//public class TestClassLoader2 extends URLClassLoader {
//	public TestClassLoader2(ClassLoader parent) {
//		super("/Users/mccken/Downloads/temp/", parent);
//	}
//	
//	
//	@SneakyThrows
//	private static byte[] loadFileToByte(String path) {
//		FileChannel channel = FileChannel.open(Paths.get(path), StandardOpenOption.READ);
//		ByteBuffer buf = ByteBuffer.allocate((int) channel.size());
//		channel.read(buf);
//		channel.close();
//		return buf.array();
//	}
//	
//	@Override
//	public Class<?> loadClass(String name) throws ClassNotFoundException {
//		Class<?> clazz = findClass(name);
//		if (clazz!=null) {
//			return clazz;
//		}
//		
//		return super.loadClass(name);
//	}
//
//	public static void main(String[] args) {
////		byte[] bytes = loadFileToByte("/Users/mccken/Downloads/temp/TestByteBufferReadWrite.class");
////		System.out.println(bytes.length);
//		
//		TestClassLoader2 testClassLoader = new TestClassLoader2(TestClassLoader2.class.getClassLoader());
//		try {
//			Class<?> clazz = testClassLoader.loadClass("TestByteBufferReadWrite");
//			System.out.println(clazz.getClassLoader());
//			System.out.println(clazz.getClassLoader().getParent());
//			System.out.println(clazz.getClassLoader().getParent().getParent());
//			System.out.println(clazz.getClassLoader().getParent().getParent().getParent());
//		} catch (ClassNotFoundException e) {
//			e.printStackTrace();
//		}
//	}
//}
